// ignore_for_file: avoid_print

import 'package:enjoy_plus/pages/house/house_item.dart';
import 'package:enjoy_plus/utils/eventbus.dart';
import 'package:enjoy_plus/utils/http.dart';
import 'package:enjoy_plus/utils/toast.dart';
import 'package:flutter/material.dart';

class HouseList extends StatefulWidget {
  const HouseList({super.key});

  @override
  State<HouseList> createState() => _HouseListState();
}

class _HouseListState extends State<HouseList> {
  List houseList = [];

  bool isLoading = false;

  @override
  void initState() {
    super.initState();
    getHouseList();

    eventBus.on<RereshHouseList>().listen((event) {
      getHouseList();
    });
  }

  /// 获取房屋列表
  void getHouseList() async {
    try {
      isLoading = true;
      var res = await http.get('/room');
      if (res['code'] != 10000) return ToastUtil.showError('获取房屋列表失败');
      ToastUtil.showSuccess('获取房屋列表成功!');
      setState(() {
        houseList = res['data'];
      });
    } catch (e) {
      print(e);
      // ToastUtil.showError('网络请求出现问题1111');
    } finally {
      isLoading = false;
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: const Color.fromARGB(255, 241, 238, 238),
      appBar: AppBar(
        title: const Text('我的房屋'),
        backgroundColor: Colors.transparent,
        centerTitle: true,
      ),
      body: isLoading
          ? const Center(child: CircularProgressIndicator())
          : Stack(
              children: [
                Padding(
                  padding:
                      const EdgeInsets.only(bottom: 80, left: 10, right: 10),
                  child: ListView.separated(
                    itemBuilder: (BuildContext context, int index) {
                      return HouseItem(houseInfo: houseList[index]);
                    },
                    separatorBuilder: (BuildContext context, int index) {
                      return Container(
                        height: 10,
                        color: const Color.fromARGB(255, 241, 238, 238),
                      );
                    },
                    itemCount: houseList.length,
                  ),
                ),
                Positioned(
                  bottom: 0,
                  left: 0,
                  right: 0,
                  child: Container(
                    padding: const EdgeInsets.all(10),
                    color: Colors.transparent,
                    child: Row(
                      children: [
                        Expanded(
                          child: ElevatedButton(
                            onPressed: () {
                              Navigator.pushNamed(context, '/location_list');
                            },
                            child: const Column(
                              children: [
                                SizedBox(height: 5),
                                Icon(Icons.add),
                                Text('添加房屋'),
                                SizedBox(height: 5),
                              ],
                            ),
                          ),
                        )
                      ],
                    ),
                  ),
                )
              ],
            ),
    );
  }
}
